Memory is required for any device that stores instructions and/or data. Memory can either be classified as volatile or non-volatile. Volatile memory is memory that loses its contents when the power is turned off. In contrast, non-volatile memory may not require a continuous power supply to retain information. Non-volatile memories may use solid-state memory devices as memory elements.
One type of volatile memory is random access memory or RAM. As the name suggests, RAM may be accessed in any order so long as the address, or intersecting row (word line) and column (bit line), of the desired cells are known.
There are several kinds of RAM. One type is dynamic random access memory or DRAM. DRAM is named for its refresh operation. In DRAM, a transistor and capacitor are used to create a memory cell. The capacitor holds electrons that represent a bit of data (i.e., a 1 or a 0), while the transistor is used as a switch to read the capacitor or to change its state. However, the capacitor begins to lose the electrons immediately and uses the refresh procedure, prior to the electrons discharging past the 50% mark, to hold a state of 1. That is, the central processing unit (CPU), or a memory controller, may be used to recharge the capacitors that have a state of 1. This refreshing operation allows the capacitors to maintain that high state while actively discharging. Refreshing occurs automatically thousands of time per second, and may consume CPU time and resources.
DRAM may be configured to use Direct Memory Access (DMA) or Program Input Output (PIO) to write to the memory. DMA is a method of writing to a device without passing through a CPU. The data may be sent directly through a physical DMA channel to the memory; the CPU is not involved. In the PIO method the CPU manages the data transfer. DMA may be more efficient but the memory controller used to manage DMA is more expensive and more complex. In systems with simple data transfer it is common to use PIO since fast CPUs can rival DMA times. In systems with moving images or a large number of images it is common to use DMA.
Since the DRAM circuit is small, many bits may be stored on a single chip making DRAM relatively inexpensive. The relative inexpensiveness of DRAM accounts for its widespread use as computer system RAM. However, the refreshing operation may make DRAM less efficient and thus slower, and draw more power than other RAM types.
Another type of RAM is static random access memory, or SRAM. SRAM stores each bit of data in a flip-flop circuit. The flip-flip circuit may include a group of transistors (e.g., 4 to 6 transistors) and the corresponding wiring, taking up more space than the DRAM circuit. In some embodiments, a large current may be used to overcome the impedance of the circuit transistors and wiring. SRAM may be configured to use DMA to access the memory directly or may be configured to use PIO and use the CPU. The lack of a refresh operation makes SRAM more efficient than DRAM and contributes to its overall speed advantage over DRAM. However its larger circuit size may consume more space providing fewer memory cells per chip, making SRAM more expensive per chip than DRAM.
Rewritable non-volatile memory may be referred to as Flash memory, and uses solid state technology that can still be randomly accessed. Non-volatile RAM may use a battery to draw power to maintain the data. For example, a car radio uses non-volatile RAM to store the preset radio stations. The stored preset stations are maintained when the car is turned off, but are lost if the car battery dies. The non-volatile RAM draws power from the battery to maintain the data values. Non volatile memory cards (e.g., a SD™ card) differ from non-volatile RAM in that non-volatile memory cards do not lose data upon power loss and are removable. Neither non-volatile RAM nor non-volatile memory cards use a refresh operation. However, non-volatile RAM (e.g., FLASH) and non-volatile memory cards (e.g., a SD™ FLASH memory card) utilize an erase operation prior to writing. That is, non-volatile memory is not able to perform consecutive, or back to back, writes. Data must be erased prior to the next write. A block of data may be erased at one time using one action, or one “flash.” It is from this erase process that the name “Flash memory” was drawn. The erase process also causes non-volatile FLASH RAM and non-volatile FLASH memory cards to be too slow for widespread use, but useful in certain applications, such as a portable storage option.
Thus, volatile DRAM is inexpensive, volatile SRAM is fast, Non-volatile RAM retains stored data when the power is turned off, and a non-volatile memory card is portable and retains stored data through a power loss. As a result, manufacturers may use a combination of these memory types to be able to offer users differing functionality. For example, mobile phone (e.g., a cell phone or a cellular telephone) may include several memory types that support device operation and/or data storage functions, such as DRAM, SRAM, FLASH, and EEPROM. However, mixing memory types may have drawbacks including but not limited to circuitry and software necessary to support interfacing a CPU and/or a memory controller with the various memory types, the extra PC board space required to support each memory type and its associated hardware, increased power consumption and heat dissipation created by multiple memory types, just to name a few. For portable electronic devices, reducing power consumption to extend battery life is a major design goal. There are continuing efforts to improve memory technology in mobile phones.
Although the Drawings depict various examples of the invention, the invention is not limited by the depicted examples. Furthermore, the depictions are not necessarily to scale.